#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
//char* GetMemory(void)
//{
//	char p[] = "hello world";
//	return p;
//}
//void Test(void)
//{
//	char* str = NULL;
//	str = GetMemory();
//	printf(str);
//}
//
//void GetMemory2(char** p, int num)
//{
//	*p = (char*)malloc(num);
//}
//void Test2(void)
//{
//	char* str = NULL;
//	GetMemory2(&str, 100);
//	strcpy(str, "hello");
//	printf(str);
//}
//
//void Test3(void)
//{
//	char* str = (char*)malloc(100);
//	strcpy(str, "hello");
//	free(str);
//	if (str != NULL)
//	{
//		strcpy(str,"world");
//		printf(str);
//	}
//}

//void test4()
//{
//	char* pa = NULL;
//	strcpy(pa, "Ropz");
//	printf(pa);
//}

char* my_strcpy(char* Dest, const char* Src)
{
	assert (Dest && Src);
	char* tmp = Dest;
	while (*tmp++ =*Src++)
	{
		;
	}
	return Dest;
}

int main()
{
	char* pa = (char*)malloc(sizeof(char) * 10);

	my_strcpy(pa, "hello /");

	if (pa != NULL)
	{
		printf(pa);
	}
	return 0;
}